1. Field of the Invention
Embodiments of the present general inventive concept relate to data storage devices and information processing systems incorporating such data storage devices.
2. Description of the Related Art
Semiconductor memory devices are generally classified into volatile memory devices and nonvolatile memory devices. The volatile memory devices have a high read/write speed but lose data stored therein when external power supply thereto is interrupted. On the other hand, the nonvolatile memory devices retain data stored therein even when external power supply thereto is interrupted. Therefore, the nonvolatile memory devices are used to store data regardless of whether power is supplied thereto. In particular, due to large-scale data storage capacity, flash memory is widely used as mass data storage medium.
With recent technological development and price reduction of flash memory devices, flash memories are being used as storage media to replace HDDs. The above storage devices are also called semiconductor disk devices, solid state drives, or solid state disks. Hereinafter, the storage devices will be briefly referred to as SSDs. High-speed data I/O is possible in an access operation to an SSD, and mechanical delay or error rate is significantly low. Also, the SSDs are not easily damaged by external impacts, and have excellent properties in generation of heat, noise, and power consumption. Furthermore, SSDs have the advantages of compactness and lightness. Accordingly, demand for SSDs, which do not use a platter rotating mechanically, has rapidly increased in accordance with today's mobile trends of low-power and large-capacity.
In SSDs or flash memory devices, a copy-back operation may be executed. The copy-back operation is page data copy operation from a source page to a target page, where a “page” is defined as a unit of storage data (e.g. 212 physical storage bits may correspond to one page). The copy-back operation is frequently executed during “Garbage-collection” or “Merge” operations. There is an external copy-back (or Semi-external copy-back) scheme for improving integrity of the copy-back data. In the external copy-back or semi-external copy-back operation, an error correction code ECC operation is performed on the read data from the source page. For performing the ECC operation, the read data must be output from the flash memory device.
However, each of the plurality of sectors in a single page may have varieties of data states. In a single page, there may be a user data in one sector while there may be no substantial data in another sector. The ECC engine, which regards one sector as a code word unit, should be designed considering the above-described sector states. In particular, the ECC algorithm for the storage device performing an external copy-back or semi-external copy-back should be designed considering above mentioned sector states.